package org.jeecg.modules.analysis.trend.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * @Description: 趋势查询传输对象
 * @Author: jeecg-boot
 * @Date: 2025-11-04
 * @Version: V1.0
 */
@Data
@Schema(description = "趋势查询传输对象")
public class TrendQueryDTO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /** 技术分类ID列表 */
    @NotEmpty(message = "技术分类ID不能为空")
    @Schema(description = "技术分类ID列表", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<String> technologyIds;
    
    /** 开始年份 */
    @NotNull(message = "开始年份不能为空")
    @Schema(description = "开始年份", requiredMode = Schema.RequiredMode.REQUIRED, example = "2020")
    private Integer startYear;
    
    /** 结束年份 */
    @NotNull(message = "结束年份不能为空")
    @Schema(description = "结束年份", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024")
    private Integer endYear;
    
    @Override
    public String toString() {
        return "TrendQueryDTO{" +
                "technologyIds=" + technologyIds +
                ", startYear=" + startYear +
                ", endYear=" + endYear +
                '}';
    }
}
